根據不同目標
筆者粗略地有推薦不同的leetcode刷題建議
(想去的公司不常coding面試就不在此篇討論範圍)
有點像這篇文
Re: [請益] 刷leetcode找工作- 看板 Soft_Job - 批踢踢實業坊
我也會粗略地嘗試用"網路上面試心得文看起來的難度"把公司分類
中國某些Quant公司 字節 BAT
(一畝三分地時不時會看到有人分享一些鬼題目...)
亞太區Google 亞麻OA
(題目難度以medium ~ hard為主,
延伸題常見hard難度,就因為競爭者都很hard也很會寫hard不考無法鑑別...)
Synology 華碩AICS 蝦皮Grab等新加坡電商 美國FANG
DesignHouse某些部門 codility/hacker rank平均難度
Mixerbox GoFreight Appier等等
(以medium為主,有時候會出現hard的難度
但不是題目solid公司就solid 這Tier顯然有一個反例)
台灣亞麻Onsite 趨勢 AILab MSFT DesignHouse某些部門 Line KKbox Garmin
(題目難度以easy ~ medium為主,雖然難度考得不高但寫code的邏輯/好習慣/style/溝通等等是很容易從這些online coding的section看出來的 而且通常選擇考比較簡單leetcode的公司是比較注重面試者專業技能方面的,常常會被問到很細的專業技能(ex: 前端/後端/ML/Linux Kernel很熟/影像演算法/Android/IOS等等等等)
TierC跟TierB我其實無法拿捏就純憑感覺亂排大家不要鞭我)
小公司考官跟風考一考或是不考
(以下身邊親身經歷 保證True Story
在這些面試官跟風考leetcode的公司 有時候面試官們有些基本的複雜度也還會搞錯
因為是跟風考所以所以也是考那些基本到不行經典到不行的題目
也不是要特別抓來鞭
因為的確有些工程師幾乎不用到DSA的知識也可以完成大部分的工作
以Huli的課綱來看,一般新手網頁工程師光要摸熟裡面所有的topic就可能已經要花3-5年了
Lidemy 程式導師實驗計畫第五期
尤其非本科系/甚至本科系的面試官因為沒有門路所以這方面不太熟也是無可厚非的)
另外也有很多薪水很高的公司是不考leetcode的
像是做量化交易等等的公司 EDA公司 DesignHouse某些部門等等
註1:
以上難度分類非常不準確因為筆者沒有實際面試過那麼多公司...
單純是看網路上面試心得文給我的體感面試leetcode難度
但就算有人去面試一堆公司也不一定準因為每個部門每個主考官出的題目也都不一樣...
註2:
面試難度跟錄取難度不一定相關,畢竟是跟同期的面試者競爭
不考leetcode的也不見得是比較差的公司
(一些筆者比較不常見心得文的公司就沒放了有疏漏或是有亂排很抱歉XD)
接下來的leetcode篇文章大概會有8-10篇
就用爐石/APEX通用的顏色來比喻吧
+---------+-----------+
| 題數 | LC rating |
+--+---+---+------+---------+-----------+
|白|普通|入門|Tier D| 1-75 | 1500- | 1-75題 綽綽有餘
+--+---+---+------+---------+-----------+
|藍|精良|中級|Tier C| 169-250 | 1500-1800 | 這個區間range很廣 不到169也很有機會面上
+--+---+---+------+---------+-----------+
|紫|史詩|進階|Tier B| 250-500+| 1800-2000 | 建議500+才能通透大部分topic
+--+---+---+------+---------+-----------+
|金|傳說|大師|Tier A| rating 2000+ | 2300+也不是絕對能過面試 2100+佳
+--+---+---+------+---------+-----------+
(再強調一次面試難度跟公司好不好沒有絕對關係)
根據想要去的公司LC考題難度
可以參考接下來不同的文章
如果想要面試的公司LC考得超難
但是可能連Blind75都沒寫過
(筆者是指APCS CPE ACM Uva
TIOJ Codeforce TOI ICPC IOI等等題庫一題都沒寫過的人)
除了真的是萬中選一的天才,或是其他專業技能已經厲害到可以直接進公司
不然基本上都會因為演算法不及格而白白浪費一次面試的機會
另一方面
如果今天是想要面試的公司LC考得沒有很難
又把自己的目標放在超難的LC每天花很多時間一直刷就...
有點花時間...
有興趣的話很好但是你手遊公會的朋友或是女友老婆小孩可能會覺得很不方便...
題外話,Google APAC雖然一直有在招人
因為接下來景氣會比較不好,所以名額也不會有2021那個時候那麼多
雖然大概2100分就有機會過關,
筆者也是認識了很多2000分以上的被刷掉的大神們
甚至有很多2300/2500的大神也是面試了好幾次
而且面試/Team match的時候有沒有把所有該做的事情做好,也會影響很大
如果是以GoogleTW以上的公司為目標的話,
把leetcode練到難度分2400以下的題目都寫得出來還很重要的
因為實際面試的時候只會更緊張
And 再強調一次難度是我根據面試心得文憑感覺推估的
各位面試者和面試官如果覺得
某公司的面試明明很扎實
但是被我排在難度很低的地方
或是誰誰誰明明面試水到不行還被排得很高
煩請再留言告知...
想請教LC rating要怎麼看?leetcode網站內找不到...
我懂了,我至少要參加過 Leetcode Contest,等個幾天(大概5天)之後才會拿到 rating